The approaches described in this section could be pursued, but are not necessarily approaches that have been previously conceived or pursued. Therefore, unless otherwise indicated herein, the approaches described in this section are not prior art to the claims in this application and are not admitted to be prior art by inclusion in this section.
In data communication networks, it is difficult to optimize network traffic that carries content in part because entities requesting content typically select content servers based on the content availability. For example, the selection of a content server to respond to a request for content is typically based on whether or not a content server stores the requested content. The current mechanisms for selecting content servers presently ignore the processing capabilities of the content servers themselves and the characteristics of the network traffic exchanged between the network infrastructure elements in the underlying network(s) through which content is transferred. Thus, the current mechanisms for selecting content servers do not take into account the network resources that would be used to respond to content requests. In turn, this makes it difficult to predict what types and amounts of network resources a content request would consume and how to optimize the network traffic that is generated in response to such request. This inability to optimize content-carrying network traffic presents problems for Internet Service Provider (ISP) networks because routing network infrastructure elements and related computing elements have not been designed to accommodate the massive amounts of content that is transferred across these networks.
A Peer-To-Peer (P2P) network is one example of a network that is geared specifically to providing various types of content. A typical P2P network is implemented using peers (e.g., software processes executing on computer system hosts) that conceptually are logically overlaid on top of a physical network of network infrastructure elements, such as routers and switches, that are configured to communicate over network protocols such as the Internet Protocol (IP). For example, the peers in a P2P network would typically be interconnected and exchange information over a protocol that operates at a communication stack layer (e.g., an application layer) that is higher than the network and transport layers at which the network infrastructure elements in the underlying physical network operate. In such arrangement, the P2P peers typically do not receive information about the network topology and the traffic dynamics of the underlying physical network, and thus the P2P peers cannot account for network resources when they select with which other P2P peers to communicate. As a result, P2P content might be served from peers (e.g., content servers) that do not have optimal network reachability, and/or the resources in the underlying physical network might not be used optimally.